# 综合案例1:
# 需求：
# 提示用户输入用户姓名，并保存到变量中
# 提示用户输入用户年龄，保存到变量中，并转换成整数
# 提示用户输入用户身高，保存到变量中，并转换成浮点数
# 在控制台输出用户姓名、年龄、身高对应变量的数据类型
# 按照以下格式输出用户信息：“姓名:xxx 年龄:xxx 身高:xxx”
# 在控制台输出该用户5年之后的年龄，格式：“张三 5 年之后的年龄是 25”
# 在控制台输出该用户现在是否成年，格式：“张三是否成年：True”
# 1.输入用户姓名、年龄、身高
name = input("请输入姓名：")
age = int(input("请输入年龄："))
height = float(input("请输入身高："))
# 2. 输出变量的数据类型
print("姓名类型：", type(name))
print("年龄类型：", type(age))
print("身高类型：", type(height))
# 直接输出用户信息
print(f"姓名：{name} 年龄：{age} 身高：{height} ")
# 输出5年后的年龄
print(f"{name}5年后的年龄是：{age + 5}")
# 输出是否成年：年龄和18岁进行比较 ‐‐‐> 结果是布尔值
print(f"{name}是否成年：{age >= 18}")

# 综合案例2:
# 石头剪刀布的游戏
# 分析：
# 角色：电脑、人
# 规则：石头 ‐‐> 剪刀 剪刀 ‐‐> 布 布 ‐‐> 石头
# 3. 循环结构🏴
# 循环:指满足某种条件需要重复执行的指定代码块
# 3.1 while循环
# 语法格式
# 案例1
# # 石头用数字1表示，剪刀用数字2表示 布用数字3表示
# # 结果：人胜利、打平、人输了
# # 思考：如何编写判断的条件？
# # 条件1：人赢了 ‐‐> (人出1同时电脑出2) 或 （人出2同时电脑出3）或 （人出3同时电脑出1）
# # 条件2：打平 ‐‐> 人出的和电脑一样
# # 条件3：人输了‐‐> 上述条件都不满足
# 导入随机数包【导包必须放在代码最上方】
import random
# 1.定义变量
player = int(input("请输入出拳的数字（1/2/3）："))
computer = random.randint(1, 3)
# 2.出拳判断
if (player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and
    computer == 1):
        print("电脑你太菜了，哈哈哈~")
elif player == computer:
    print("打平了，咱俩心有灵犀")
else:
    print("电脑你太厉害了~")


# 综合案例3
# 需求：
# 1．用户输入手机号、密码、验证码
# 2．对于输入的手机号、密码、验证码去除两端空格
# 3.手机号为空时，提示“手机号不能为空”
# 4.密码为空时，提示“密码不能为空”
# 5.验证码为空时，提示“验证码不能为空”
# 6．手机号格式不正确时，提示”手机号格式错误，请输入11位数字”
# 7.验证码统一转换为小写进行判断，正确验证码为"8888”，验证码错误、提示”验证码与图片内容不一致”
# 8.正确手机号为"13488888888"，手机号错误时，提示"手机号不存在"
# 9.正确密码为”123456"，密码错误时，提示”密码与账号不匹配"
# 10.手机号为"13488888888"、密码为"123456"、验证码为”8888”时，输出“登录成功”
# 方式1
# 输入手机号、密码、验证码,并且去除两头空格
username = input("请输入手机号：").strip()
password = input("请输入密码：").strip()
code = input("请输入验证码：").strip()
# 判断,是否为空
if username == "":
    print("手机号不能为空")
if password == "":
    print("密码不能为空")
if code == "":
    print("验证码不能为空")
# 手机号格式不正确【长度不正确、类型不正确】
# 长度：len(变量名)
# 数字类型：变量名.isdigit()
if len(username) != 11 or not (username.isdigit()):
    print("手机号格式不正确")
# 其他判断
if code.lower() != "8888":
    print("验证码错误")
if username != "13488888888":
    print("手机号不存在")
if password != "123456":
    print("密码错误")
# 都正确
if username == "13488888888" and password == "123456" and code == "8888":
    print("登录成功")

# 方式2
# 需求：
# 用户输入手机号、密码、验证码
# 对于输入的手机号、密码、验证码去除两端空格
phone = input("请输入手机号：").strip()
pwd = input("请输入密码：").strip()
code = input("请输入验证码：").strip().lower()
# 手机号为空时，提示“手机号不能为空”
# 手机号格式不正确时，提示"手机号格式错误，请输入11位数字"
# 正确手机号为"13488888888"，手机号错误时，提示"手机号不存在"
if phone == "":
    print("手机号不能为空")
else:
    if len(phone) != 11 or not phone.isdigit():
        print("手机号格式错误")
    elif phone != "13488888888":
        print("手机号不存在")
if phone == "13488888888":
    if pwd == "":
        print("密码不能为空")
    elif pwd != "123456":
        print("密码与账号不匹配")
    elif pwd == "123456":
        if code == "8888":
            print("登录成功")
    else:
        print("验证码错误")
else:
    print("数据输入不正确")

